#ifndef JUGADORENVIAR_H_
#define JUGADORENVIAR_H_

#include "../Common/Thread.h"
#include "Cliente.h"
#include "VectorProtegido.h"
#include "../Common/ConditionVariable.h"
#include "../Common/Mutex.h"

class JugadorEnviar: public Thread {
private:
	bool estaCorriendo;
	Cliente& cliente;
	VectorProtegido<Json::Value*>& vectorDeEnvios;
	Mutex& mutexSala;
	ConditionVariable& cvSala;
	unsigned& enviosRealizados;

public:
	JugadorEnviar(Cliente& cliente, VectorProtegido<Json::Value*>& vector,
			Mutex &m, ConditionVariable& cv, unsigned& envRealizados);
	
	//Metodo main de jugadorEnviar.
	void startMethod();
	
	//Hace que salga del ciclo de iteracion y termine su ejecucion.
	void matar();
};

#endif /* JUGADORENVIAR_H_ */
